
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

/**
 * @author z
 * @date 2021/7/18 14:48
 * @des
 */

public class GenMp3 {

    // 信汇收款
    private static String message = "//MoxAAKcF5wFUMYAJAKAUFDB0BOTiElzp1TcDcuqkyPem81fpU5MZ/2+39e1ZJ//9u41//1JeBhkekSsu9H84z/ufN/89////MoxBERGyKQAYI4APt3//5BoljhA///9BIB2PFgwEYTiR///+JBgoEgwaWMmE/////xwhHCAOCB4PABAkCcaMr///////////MoxAcOOx7AAcAoAP26b71dyMvUsyaVUqVSiicinU7J25z2p1vWsiqfGkOJDiuYCDQDdTmIUXrjxcxnFXHrAAFAFtFk+hf///MoxAkO0a8CXABOlvyln+rX6f//TutNG9PZErKOXLGC4Ki4BJqUYmLnmIQY5jlxKxa6FNECrFQei50zTdOkFf+gSBIgrYXN//MoxAgO8a7QAGnElDBeJbn/Qxm//////////6I3utjnMOKGB58ewEQeUuSSSe/t+gasNIiohOiIOiZ8qVDq0l0f5uf9RkNo//MoxAcOghbYyplKmJcD6YYQBLfyEEAK3/IQLJ//////b/7kcva3uJDyp/IYQA4Y7aLkYaQ10wF8sEtVIlPfFf1DmNg6AFkA//MoxAgNaL7AABTSTHMgnJA/6aZGCwhJVs3+oVk1pLbe0gJHqNY9sE3ff//q+JRgSfEQhBUt////61J9KjgRCKvE1YEDoHvW//MoxA0NCLasAD5MTLX4WL8hlR2NubdlLAIzEOmYYWYAgrQ09wqIQ0R6f/////////5GxdVNHSXuaCcqUAUdbtxHcdrZrdNK//MoxBMNELKwyhMSTJZG8Z0jGCdjrrWs6NtvEoSCzybIo5eKq//7//////+egBX9BEyJwm4PAoF4xUvUdUJuHPvZ0bLgemnW//MoxBkLCPbQAGtScde6xcHwbEBJaNvfe2jbpAIEfnIq/5PJYEhDL+ehEHYsGz/3Y3/ZSlQz2W5UAYPOpXaikFi4DFSKFjv9//MoxCcMOR7gAGnKcCILDkPhZP///9X9RmJuANELyQXbQaACAHDY9vo////+n//2T80ys7odCoW57oUMFQc7GCAwIoEODrZx//MoxDEMadLUAGnEleoyHP5Qgz/QCL///////////tIZTi3tuRep3tU6ToZkEWDWnwsJ+6ryH/iABu3klRCc/9f////pm3Dg//MoxDoLuerowhCEmGLEEZzh1OMpAaqskeMB8UFCRp5cRRC25fYki12ym9KssPAyCIXchoGV/0kCGG4FzLDYpD+QJgf/zt/5//MoxEYM0XroqggElP/GAAoud8uqXQvKKlKHRZQ6KoDRUKuDTNLVFgqdm0bpZCo/dOf3zAKIA+400F78yIsGzDQb/UbBING///MoxE0MyVrUAGlKlDyAlFn81h4bDY95U9/////f/+bAwNB0mA76NOaEMEYAHwBc5EHau63WOgSEcw2Sd1MgowHGB2EKSyDf//MoxFQMcPLYymzOctRs/0//////5n1/EoCBxLkgqCsDIwAEJiIBgU9JSSOL3VMzbynBEJDaWxd90wVlLyIO2bkiBNS4J8Fr//MoxF0NONK4AVNoADdApGYSYCjBsiKPnWC5FxIwBskwmnknbnk1purV/v/R//3/9//rV/5wxdX//nQDYJf/oZqsR2fOD7Wm//MoxGMWsfqI3ZloAPhir8uQtEw3MSITqJR4403tOKNStGieSwIw3VL2CKB0vJ6zSW8nmTq47dEbvGxUlnm7//p98VJw/r07//MoxEMViW6wAYxYAPfWB32fpRWf8MAgl/+cLmsBRk0qd47nnRg7iye72qjGKznGi57oodGiKCYucgoIDA7QooKigoDOUgaw//MoxCcQ8jbIy8IoAEB4kEnUWKelP2//t//////2kazDwuG22/8o4mum+o/EsFQ6vnkz6VnPJn6UgmDkyZNZkIICdGKzaAwF//MoxB4NMRLYAFGScMV3X9wR3sfu9tq+o3Sa6MCQxV////+m+4DAdKexAHytwgUWj7FsRFKSBhhMafGYrfEIknRXMVl8m0s9//MoxCQMySLcADmYcbO0+s0xns+ce7LLYltxjNX4cMaLVmAfZFPORNR/TKTy4jYGQypI6DALhBD5FDpzacYKm00mytcdd9Sz//MoxCsNKT7AAIJQcSxc+UQLM1nHoer/zxtEBmnyyVVn2TWZreqpCkwVCLUGqIYJwIiYCFAQkMBZnKJf/91L6lb/UBCnREn///MoxDEM+T6gAMJEcP//LSY1r0XUwOP48xl2xpuTnF7QHElqpfZ14UaDr2tm1o2dVKrKVkMZ9DGo///8xsMcSYVtBqs7P3Jx//MoxDgMcTpsCMvEcQzFZFsaLTq/nh+ihe//3OnW6Plv+n/Qsrs/s//w0rA6pS8VCQDAoEc17k6zX/5FZr6f7W//39X/Q81///MoxEEI6AJxlgiGAk/+9d/VRlATooSoLGvQFAEeBURXbckWf3tPdvU9h33CKV536zuJeo9/9/2N8S7PEvkFTEFNRTMuOTku//MoxFgIeBZMViiEADVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy45OS41VVVVVVVVVVVV//MoxHELICYcTjJGAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy45OS41VVVVVVVVVVVV//MoxH8AAANIAAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//MoxLoAAANIAAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//MoxMQAAANIAAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//MoxMQAAANIAAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV";
    private String num_1 = "//MoxAALeFp4F0MQAFoDFB0I6xwCkUB7+owIRmTVSDcW5yUR+xNzm9Yppsa/rcD4HUEwz//7mf//7ij/3cuxDnJY2iIYT5/0//MoxA0QUxqkAZloAfg1eZ7Ybjf9BD/9f//oN///////6GSCb//6+r5xa03qQSMECX//63oUOhr6Z5kVoyXdjMAqL6Hn7EeN//MoxAYOcd7Iy9AQANDAwFgeFvrlItkUNH/r/5P///////////UdxygZHw+BOh/SPLHGCcOQiDJ0h+VNAwLGaKYCPa7bAAXW//MoxAcO8iciXmiEmoH93UHKC+B4TVbqFN/lRX/qn//////////0WhGuZxLkU7p0KjLOLPqesXD5IRtGn/q/sZWmD0Mn5w+i//MoxAYOAq7EyohEuLGsBvh9HpfYQL/3/////////3/6s5Nqo7MognylMpm8ujq5Lo6lY1veUrZieoUOu/Po7//hnKcKssYO//MoxAkPYgakAMiEmG1iNO3dMejKdgFv+dm/6f/M//p/8v/1/0M4C016VaVt9agIKuirhKLPWAlB3vEKD0r/BkFaDS1KRXz+//MoxAYNEc54CnlElCMzDwkwSoKk1I4gDIxnDoqjzfutP5bf////////+2pWLMBP9qmZGr///zuGiIlqY8HEpxcy+uQoiBKB//MoxAwL6F5AAnpEKFZuGkgmZIlRsJ6bng8su67iA2yKvf/FEqi2n2//3qdL9vxbTYICzZZGZCw9GhS8YKoUJLWdGAZrwqdK//MoxBcKiEI0KEmGJLhEs6WeSI1pJdR7+eAWGl5b/8sqMQMQABRR4BlQQMGED1QuysVFtQv/t4q3+K/6l//i///xekxBTUUz//MoxCcIYC3AHjBGAC45OS41qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//MoxEAAAANIAAAAAKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//MoxHsAAANIAAAAAKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq";
    private String num_2 = "//MoxAALsKaMtUMYAFAILB/cqYjhR+e5bu/0+V8WmAAYIQIQEChrUNFDLoxvH/r//rJBXAKa//M//94x/+Av4h/5ZFBkn/Zh//MoxAwQOvLEAYqQAZwaBB/uxpkiGJwFQGgRf9lu+LPIOcJ4ihp//um6Gh///pv////9TJqUgybJz/////6B5kdg/6yaMUTt//MoxAYOUP7cAc14AF/OnhUGQn//xaE5meYn9/7+Cux6RPErf51rFZE8o2EubvTsNJ9BT//rlHSwFOCA/EvyOmr/kAiAQAtf//MoxAcOqSLcAFKYcLkAqDwC8TH7oQCIPB5IXNX+c+1Hx4D46e+k5t5kSQmLXz+3X3yjcT1d6viB1pF3gH5ZQNU96EZ7+oiw//MoxAcOsTLlkFGGcScCMTh6b7uykSJgMAktjE9L5JKEAwiHxlARK0jXnQGGpH7HsZkpoKFOBJvYDRze22GvgkUe3ay37W/z//MoxAcNmJMWWGoGTsFsFEOcO09bwCqSaVVkm6k2ArqowYVrMGgLBbjA7UBh52tckCIieGioBQLuxURdKgA3I2ZGXMf2hDuB//MoxAsOOTqmWHmGcIyi7VLFPCF1hqWu+SWjVVzSLMcVS9mZv//mwYV+qsaqqqTZ1Qom6DTw1KnRFDWAaQmak8bJNQG4V8Fq//MoxA0M+GZQFHvGKEiVBOnM5WRRA8LSoCIAlBEHQEaTiLX2neukkd2HUyP9n/Pa///0UpJhCAGA8jHEAIZgQkrIYCAmKg0D//MoxBQLsEIYCGJGJEPOgydyqzsqd8jlTvxL/JfrO//EuDX4lO//qj3f2kxBTUUzLjk5LjWqqqqqqqqqqqqqqqqqqqqqqqqq//MoxCAAsAQAAOAAAKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//MoxFgAAANIAAAAAKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//MoxJMAAANIAAAAAKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq";
    private String num_3 = "//MoxAAKOF58D0MQAICLA1HpG8Ii9E4qEHF5dUzWRDC3oydfbQh5h7NFv/gf2v//8Jf/9noWmY35pZKL0R2X91KJonzveQ5E//MoxBIQyyKYAYEoAC/9KMmp/6EjEI7GFyiCtsn8ldco6cXb//Pb77kmstDun//rt5z3Rsh3ExjCDhBwYDvVy//fkWtuqUZ1//MoxAkNYsqsAcEQAT9VtST/+n+hDmGDpQ9eVaIRK2XXcjP6ZOyor+jtT//2//tW321Ejc2Hzb66VfzDCAuwB4h5L1Gzv39I//MoxA4P+UrEAFPKcJezW5HI4bv833pRg4OKZeryE9KUIx3+x0GgcwfD70GmYXO8IZqU6e5dv4n+7/0aMn/Q/6Kg3TDppvYo//MoxAkNSU7kAGqUcAbArD8lt6CSG4439CD/zB+v+aNxyTMnmAtiALnco3xV/k3dYNp69f/8uTt11f71lQGogf5kRQlS3+o8//MoxA4POVLYAGtUcANBIsrfoRP/nOg+LfRyEVREiQXvoTDEG0RQhh6//kmeWRlRKGn8FQ0/rO/InegiMDj///w9SktUJYHx//MoxAwQGVrBlGqUlCRXehMRADgQi9K1Y5hFEprP+qL/1AlClY230ChJ0OmmmzlKCKG1+tfyzvnvLP9X7p3u/8O17nUu8rUM//MoxAYMESqAAMTEcLHKfBaZquB0KNk8kj1S6WCeMWb5ZTG/mVAJ/5UOAto9HVlAhTf/////BpUQlyN0sLFdFIUrcG8j1hVD//MoxBAMUGYwKHvSKHT6DRM1GuiehwkVOo1rBURAJ+Q7Z1T+GsrW7t9+sZqf5ZUISgCwygFpThIEBHmB54sK4qKN/8BCwq6s//MoxBkLQDGsFEjMAFBbCrX/ULCv8VFv/qF2Yt//ZxYVTEFNRTMuOTkuNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//MoxCcAAANIAAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//MoxGIAAANIAAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//MoxJ0AAANIAAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV";
    private String num_4 = "//MoxAAMsF5wAUYYAKNKTR1JRDSEQXv7bhAwACxcHxViSgbE9j5/1n32CZKmvSxiWoNPSLPOHCb7tRkn2AJHpTYG5m/8VK3Z//MoxAgNgdKgAYEoANv7Cx7fWzXqx//6xVX/rlE0JEA6IigOb/6vVcixCcT/byhQeBkCD//OWYsTMAJ//+aP+n1S1NnVqN/P//MoxA0OuT6kAcEQAPun6uiMoYdxdpcgoWAlwxq2FEhtoqXdAjnHDBVdjsi7Qhey6LS6SDS6A8sCgJAAbbbbbW66gf/OSNT9//MoxA0QgdcGXghElpD4acxnJiCJCbM7szr0dzKhlellvy939r3Wq9JSzkatWZ3oEdJ02x/LFy8MOqFBZCXf/dST3//mk/1P//MoxAYNCSLMyjtEcgJiVgMwAfBNxlmCTfmZ4zL7/pOHP9v3dT2unIQih3DYcboDYrocr+z/3f2///TVAkkkkkkAEAH7GBiS//MoxAwQQRsGXm4EcqBNwzAZBxQvZ3re8aepKIxezymaa139YEDjnIcSnunlQ3dtjyBokSUEQGPHmwF/////xsoU//9moSQT//MoxAYNISK8AHvEcBASQUoSEvLtdnWeheRMS/KLfpvXtXUKFCAhSq1//9Htfa5WMZVEGQWe7/////lVEKJUuwsAGAHoA4UB//MoxAwM8KrmXiiGTowIdqgICJo9wokvuoCsICdmFBRJhITHvlQVU88KhqIv/////qHA0HErGAShmpysHYCoCBIEVyUiCtBg//MoxBML8E5oNmJMJhEiWA0eKndD8qg1Mr++p579NNVrP/////9nZs5BGCgVTCgqoKpkaZLMCseM5VT2FVTxVL1Cz8jIqJa3//MoxB4LECogBDCGABLKuo53/01Tv+nt6H3aFQCBoF1kAioqKiosUqF2J7UD2e3i7NYt/FW/WKmdQt/2cW/x7f6/F0xBTUUz//MoxCwJwAXdlAhGAC45OS41VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//MoxEAAAANIAAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//MoxHsAAANIAAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//MoxLYAAANIAAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV";
    private String num_5 = "//MoxAAMwRpcAUYQAEi4HlwPUejJToRTohNXsZfZ7Oi3OeyK7W/65XZyoxlQGCXUd///U0BN/j/6P/3XgIqQks/tSlYUKJmu//MoxAgO4M58AZuYAL9uOcYrG0hP/EJYVCc1c14pQm3A0ZA+vDS/N+LUJ0NRc//l5Y05+XOf9/////L///+G0IXlZSSQACAA//MoxAcOgJ7Zv8/AAnrX2RQbBPTphPrLsFmDaFiUTNSZsNEyCxNxIC+rZGjuzIbNevL5jDVoQAusuh//////6WyTCE7bQLaB//MoxAgOKL7eXmvGTlUEQ2wRtT+inBns0FNLbnAY4v/gCGFZ2NVd84zEokw61qRhNc76P///9v//9vahaVIotBSUACigf/5C//MoxAoPKrrhvnnEu14/t4+TvDSntlvLmAUSXQdIzDxumYQGjdGOOO1RN0r///////////p2//////+yFH7Itct57kYCdDx4//MoxAgNeI6UAM5eTMxefS3NxgivVDK6KQg8l2Zvl1Ih0qzDEpSeivHy0vIjOEEiPI//////9X///zIEOgYC2fBO4DMPUeW7//MoxA0L6JacZnvGTLwbwmTlGliF+cd43YxygICQUTKAthPO//////////w0s7E1bD4AxC2B9gFIG4LIEyd5wKMcJdkuJU0W//MoxBgMiGpEAHvSKM4tJmUpgqCx9JBSM0wkLqVuJPeKaa+7/Vq1KmGkZItxgn40qLh4zODjCoKywdnQ260c4sPMnQbcKgL1//MoxCAMiEo4AnpGJKVmSSn9eRPFf1ez0Wf6Uf//9VUAWhSD1lgR6oW1lRJ5csDPEuMGhQUJkOyoqJ8xURU1RUR26oqo/1X///MoxCgM6WnQAHlElP9V+UwMSGv/+Kt4okxBTUUzLjk5LjWqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//MoxC8AAANIAAAAAKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//MoxGoAAANIAAAAAKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq";
    private String num_6 = "//MoxAALEDpcKUYQAAiFDTrDHF53+l6D4FCQfFtQeNyiyxlyf/dqb2f/BxbI0BOtbvj2fXZ//gJCFVspaSs3PhcIA3bJhhQr//MoxA4QCnaoAZA4AP4LBY/+elv/Pcz//4+T//5mxl///ZdlJhhzwC9/+dev8kqCOTGhA9sh/9IvrAkEA8ZMqv6kjEgI5oW5//MoxAgNcd7UAdAoAAJ6T1v0nQMiKJ/qyCn/1f/6/+tCf+pA43/dgHHk+2QaFgc+7U0Mf/Wf6yB9uEoi/ufqtygEgQDZv/bX//MoxA0PwTrcylLGcuxUE8QMVN8u7gAgWk9KEREIye/oUSmBgB///qGcY/reHflTvln9YqGvlv39SlnfD3rpZjgn1FsWwngQ//MoxAkOyObQylMScICwCQlK73bOymdF9SEwBh2X6dtQsezyYTHSzMszUZdNczuSu/1tEp15L////////rtI1RQAEioAAtA///MoxAgOkLbOPlmMTEKFANAHxcSSk8aSqiIgsaSrWeekdSTHHgqVUw6CWmgzLFTp3///////tPOBm5ENWOWElSULQABQBk2X//MoxAgNCLaYfmJMTBdGI5mGyoAw+o1agBh1qr8kcetYkkxJYLaOd1JOap93///////8Ggk+SiUNKqByrTGUaTLIwjOyRUgm//MoxA4NCKY4AMPMTALVMeo4U8epwvlMtRHIFBBxEUBJkflfybFG4eLERj7vo17v/q/1VUwRFIVDLJsAyJpFQolTpVyg6IWA//MoxBQMgEIcAEmGJCbQsyGhMEjQVGnriSkLMt/yNh0NPO6z3/39n///6EAIJ0Mvpl//qif/sYoYGDEbliosSfF2av6xVuCw//MoxB0JALmkCBhETLiMz///FRZMQU1FMy45OS41VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//MoxDQAAANIAAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//MoxG8AAANIAAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV";
    private String num_7 = "//MoxAAMqSJkAUYYAEjU05wLl0MKhCK5ozAGTiLjIRPC5xKLeJ6JXOIhc6eaxJUDxwhAg4WDFbzmu71uecU0ykyqLJSBB75i//MoxAgN+x6IAYUoADL957fse//kFBdP/5GOxz//5zz2P//+jc53////7q5CSKdv////7ncgudx4gKAGL//+/////9X//t////MoxAsOqxq0AcEoAf//32PRiIQiZGf86MuS8n0Rlk8lXRs6EXIqkTU6cTOcxRMWZFO51lPQaLoNA4wdIgBhtthgNrZR/9cg//MoxAsPIdceXghKlilTXqUy00//6V////9b92Lu11jQYTKAYshBA7OfE15o4tlIIWCAxr/pwBVS9jFVMHDKfQNX1PeUAkC9//MoxAkPQZ7MylBElAC4pHhv5A///////////1o2xWUMDRUcB3MEYIGL2JC5hR0khVtqm/nluEoCFhDfiIsHSoz9NKwxwThC//MoxAcOosa8AKCOuJJaH9B//v///6//T/6f+hv/lBdW5semFSYdNV/VRo/1Y45wBSZs/62+vlD85Dm7BZ4c4loeJ/4fj/zX//MoxAcO2j8WXjiKugH0O8Rgy9kMsxVZv9oo1f6f/VP/t/6/+Z//u3/EWE0VnyZr2dMkSAxn9XyNpUkVlhlS1I01FqV22AA1//MoxAYLSJbyXhGKTrcB1QwsS7OYFLyjZ+/2/0M4Ch4O/////XypCIiTBYK9/32f/iLoDipfCOoQ0xT+RyGq1aBslsNZCXye//MoxBMK2HZIAHvGSGap7RhRqQVSwlMuUeBqmxbtn6P9unfrdXUKMGJVoKiwVSgYKgECu1jA6s6VcHVyVNhU6Rg0s6Iv2zwi//MoxCIMODoYABGGBIay2rz08JXBpR4q47+SKiYAwkgFAVFRQW////+Kizf///iwt6hZAFFRYkBQqKCzf//xYWpMQU1FMy45//MoxCwJIAFdVgBEADkuNaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//MoxEIAAANIAAAAAKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//MoxH0AAANIAAAAAKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq";
    private String num_8 = "//MoxAAL+Rp0A0IQAEOJDBwoYWNZpzzVGIos+3n0bJ6u0n/a7IqMh2UIcYZeMXr/o02pi4Ca///3f/02UPYv9iLgdPhy5E/w//MoxAsO6WKsAZFoAByAsBM/8FcAJQDMHh/5PKZ8dg8P/x4KQHObGn/+bpgQ4//oTT/+44cyn//DAPvYGE3v11hNBzJJflQk//MoxAoOyQrcAc1oAOPU1Wij0mD2O0lVpbrMh4hO0k0/TKhnQXV0XGDCqHD6qwYd0ep3u8U+VZ2ep33d3tQqDc/0P/w/vhKE//MoxAkPWRLtlFKUcMb+4jAXv+jiMN05uUHwEx56pbQoIkb/SQmiJJjOLhtnCv/i3/o6RG5upvSdeuKlRGhIq4JVD8/wPDw///MoxAYOsR7llFHKcEfEoBd/8oAoS3+6lAGF7P6kAYCj/1cRAEQV/xEOipgIcqEoSOel3///7BFAgth1Qujjt/+h/NmwfAJD//MoxAYOASKwADlScIv8phIAlT7STUQ/+v1UKIZACwnm1KPiykAwuw3tSlUxSyqDT+DXkv///88v9brjqg6VI4UMB5CQwC5D//MoxAkNEQ5oCBrMcIEJxrF6prHXdGys1fxpEo5ePlP//Mb//zUfACsosvHRDs6sydb///////qVsDnH0LQS+43DITxo2FNK//MoxA8NMHY4AHpGSDEl1gBkl0aQEA6gwLIZAjnpTSQXqLpbMsuoJ5StsYq5y/1J37+lGBPFCDdVCnElBiVhKJIknqkBATBw//MoxBUL6EYkBHsGJEQNKBo6HdhXkhF/LSSzv/+V2f/+W//U9f/w0kxBTUUzLjk5LjWqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//MoxCAAAANIAAAAAKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//MoxFsAAANIAAAAAKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//MoxJYAAANIAAAAAKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq";
    private String num_9 = "//MoxAAKSAZ890EQABQa9gWcCFhIIwTcK4uw+nS5603mtOlxna9+z6//6yT//7dxr3f8K06FqoagYGKoFAoJhOIAKIpPuXA0//MoxBERAyKNH4EoADef1X+30887/X+2T+v+/z/1/8zChCEKdqd///znQQFBfRov//X//3I4wUD5mAgcYAwDB//////////6//MoxAgOMx64AcAQADSVrU6nIxCgb/53OklGOh3251cnv7PbaRUZyHEEoIXaR3YhFOV0EEnAzHQGdQwxxBI/h+fl8qHIbGi0//MoxAoOAd7gymtElsqCKAUQjD3PJugaN6aaf///////9ydlXdWuRiUMZLfq59zDtKrcM//9aVf+imn1nAJWEhKKKycKQJGz//MoxA0OAQLMAGsGcEJQ7CIS0iCzPE9yswHCmO1iEXNEJ4iRL6OEEH/CEs+8NSw8FQVxK5nyPiX//OYChgz1ezTWCBAaUevT//MoxBAQ8P6wAMPecIPFuaYtyZiFFidwYysL1ZijYTKFPaKchZQRtWlakmdMXG9wnzCy4tb11CI/////8OkV/66HX34l8AD8//MoxAcO+KbSX08wAAH9PYR4GY1MjcigFkLtXwcEiYDItOu0MXMTvikm/wCWt5cFAJxYdjGyP//////UDVIMI/xNbGnW6Jc2//MoxAYNSKaEAZp4ALTInRXsW9dKBqwQ6SGe6Z/ZY5J56fVP0JCKUUiung7z+xPh5U70//////gZ//8QqgDMLKS+aMxFBCWy//MoxAsOgT5UAZAoAKLJFa1vAYDDfxIBgCEf8OkEQ6Hf/MZTCQe//KVCiIilnx4NBUs3/KhIqDR5Tf/oQsBoSjJEii4jLA0D//MoxAwL0B4gJcYYACCoa5UFXAseWCtsqoGRoKytQNB3g1+DUsHSrp38Nf//lXf6qvz/jADBRGGTIKioqZ///4sLfqFhaZBY//MoxBcJWAlYthiCAFhZhkJCwvq//WKigt/i1UxBTUUzLjk5LjVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//MoxCwAAANIAAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//MoxGcAAANIAAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV";
    private String num_0 = "//MoxAAKcE5oA0MQAEChLOrOmhHfTISKrTxi0f/80axXi2O0TizZQMgg4PsDwcYv/o9z///0odlE0CEbsTgGhFgSKa3D2wwX//MoxBERUwaYAZQ4AfsPv/tt/////P//572V2///44QEQBgsBx//Q96fi0SwkEcS2G89DDP//s6f+x4SERLIqePV9ZiMKAGh//MoxAYNaeLIAc0QAMkS4mXR3AC4TS8uzrf6N+7///////r+n/rVw44AqEoADOR2lDoElBg5t2nMaa/4ohZHbbaLQ5aB84Rc//MoxAsPGcMOXoFKljQUFGTRaCqBhdrjgM/k/T9f///+/7fV///1b1gKPfE5+OD+Jtbsib0Z9f+KmCQWbULVM7z8CPw/+exm//MoxAkPOebNlHnEmGgrFQwYjQAZxCwDy6Y8S+cvzWbojmf////////LToYpmZjAR2OjFYMUqdDjIKrV/tzv/EwBL//NwD2M//MoxAcPAM6xlJPGcMZkgQC2hooKGUoLcol4TY0z5OuPXP9cWxfOvnJjigJxJogUGJGFNOjl//19Oznj0VCVws/oTTkbkggA//MoxAYNuPK1HmoGch1U2WTQnwBtCbhIrQ2U4yx6DYlytqOJiQV86rZhQEKJ40eMGODRXirou5t///9GWDncrYK4LqrJUMBQ//MoxAoMON5QAM4EcEowaV5nMH3oHLVIuKKxGWQVP2JdM0Vrv83v8vN3RU665lKGQK5USj+JCYALkAuAUpIORFRJgoPBg2Fx//MoxBQKSDY4AHpYBI5gaCbWpiIsxza6KTW7/nv3EtP9ldUgMuAFeGhOOaRJmFAUGh4KjAZcDTxKeEoaEQcLB1YKrBVQdaR5//MoxCUM6EIUAjGGJlcW8lb//5b4lnv/7tNfUkxBTUUzLjk5LjWqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//MoxCwAAANIAAAAAKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//MoxGcAAANIAAAAAKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//MoxKIAAANIAAAAAKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq";
    private String dot = "//MoxAAKyFZQAUYYAAoFFJjCmU8qOdTUegaUxgVSwBygs4eg1eyth0iMLCQ/xVn/+vyQc16af8Yqq0hJ18LmCl+Tz/fE5v////MoxA8QMwqQAY1QAf+Yr//vMRv//yeeSf+7/j8VAbgCg0GimC3///+K4hwaGPLHuSGV/////cwncwVCxPhq//8IvgEoRTMz//MoxAkOmdLMAc8QAFWUv4A7FuLy+3A1un/6nsn3/////////p875KhzscOCKYQQ6cW8WYgVU4XNJOOr/o1VI8ZH4KWSBSlr//MoxAkOEHrUymsWSAOw9HEDqk7HwBsaGzKcX5wBHROx3//7dPcsPnxA4BEhZDwVCZA4w85BIitRow9ilesqATAI0b2MwT4Y//MoxAsOMibAAGqEmSe5GAyF0PxqULAVhadnGD51jjeh3//////o/lVDlYzo6mej5n6GdP/rmNNqFBUJqtuW22C0AeYANIGw//MoxA0PyU7aXmpEcm6EWIkAp4HRKiz2si3PyEytvtAIyqGctlIhsz29P/L0M+7OMDEiVygMFf/76W+KgsoOqiMKWAAapbdM//MoxAgLWEp8Ps4SJCgZyZnQo0WldFcqKpgEcxZpQlEiUFkvd/Pf/lQVdR//2/XqDqlVKs1QYVaVG6QgdQQ0mhLqHM/Eqz0j//MoxBUL4EZQNHvSJE94rJEbnVUltn0rqV1P2W//zevp2+n/7Vf+tSRDiLkrzRQ0aAk0qruRJtmOgICDpXFQVIrAQ4BTolIY//MoxCAMCF4wAHmGKCrstlv4mKnXsVsrW7//6csqEhIAUCJobnZzIyaaERpkatahkasoKOR+yghUMu/4SF2fqb1t1ijf/r////MoxCoLMLW0FDBGTLf8UkxBTUUzLjk5LjWqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//MoxDgAAANIAAAAAKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//MoxHMAAANIAAAAAKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq";
    private String yuan = "//MoxAAKyAKAV0MQAAlphM8AVgIECSkCpQm92fk0K0oW/4FYFbtX/rR4nEAYy3+vl+NZ//p1OfUq/8aCsnfvT8S8/rXRv++l//MoxA8QsnKoAZg4ALpJ980bl/9Xv/+//////t0MP/+97vG5M8F5MfPcW//upn/Yx9VzEGn9b3UpU0FhdqBQcJb//MUZYpCq//MoxAcOicrMAc8QAK6myMAGiE2nM5h2VjJ87oBjp0If//8jf///XoRbrCDCyu70djPQiyGkUcEiYnKUP//nNNX6wFserKdR//MoxAcOuWLQAGtKlNB3BeiOaqRH0SYhEijULAUkEU5mSX1q+m3oVfIdvv6FTJCYsQqEINMBq2ZK4fS8XpZhalT8bQPNKnJo//MoxAcOgWbIAGtGlLUl3bJEdE7YxQ3iAYKckQuo5E2Qol1Xrb/jI/7NU+SVPnkUNYAwZ2DCjBBpv/9fXFa6KfWcIEAngtDD//MoxAgOOTa0AJMEcKQhvjoBQuif7DInLr9NSqe6t6SsBMolFbQv/l8vmMrGeYzhWRKIu/X///WNO///6Ct9EWrtnVLNwIAV//MoxAoN+LKIKs5GTI7djQ3NY5acSmdTDtNah2dsXX7u5ZpkfSqGJHU61wVaz+SIqAodOv////8NCFYyJqnitLZlMAIrKHGZ//MoxA0MwkJoCshEuRgLlG5m0Snvq0ojIQQynMKifyFX4hP////LylKVv////////4YFBHAiPoSEMuhhzBgq6eKhojETw0Ij//MoxBULqC4kBkpEANz0Ff8SuPQ6Vce4iU/s/yQiKhr/nj3///9FbgFhYSA4LirP1N+oWFxVnxUU4sKpMiwuyKiosLfULCrK//MoxCEJ0AFcChCAAMUFm//6xRVMQU1FMy45OS41VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//MoxDQAAANIAAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//MoxG8AAANIAAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//MoxKoAAANIAAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV";
    private String shi = "//MoxAALsFZ0DUIQAIEg4kCKIBYMZgRc7qwQRAbVOjxxwgQ/WfcJFFDRoqPWwmUT/1wOs+nH9P/6v/+h////////tU8j/55z//MoxAwPUx68AYBQAB55YqXFcAeFob//dUfiuTCAHhARAVCwsf///mk4gxbJyM4zMP/////zFPH5QWHUwwjV////////2pWd//MoxAkOuhrkAcAoAGqEFRwqJiwIRjoQy0hw4sogRUEzKUaJmFXOdRY6LIZh8FkBWkXtv91Y8WUBgmZMNQg0AH/9bkmH///a//MoxAkOIdcsfgBElv9m3uQrs9QTo4ifv6mZEQ7eznUzu1abv8h2RTwRZARHnBcKkGOa3f/+MLi9llV2igP//wAPpbtxy4bd//MoxAsNcE8+XgJGJj1OIDFvl///+V1bxL1nXrcq8SpniIlOg0WeQWNd6OeX/LMcgGga1PLBrk4W22222xN2gfKhC8R5NTC9//MoxBAPCGcOXg4eKt90wB2EFZX3/8PB7a+sCupLZRHX/InmWvLg415d+XWuylDpZDv0//BINrnE1QJVLbQBXIKB+sHSPQZZ//MoxA4NcZ8WXmnElq9YAo8JBdOd/f+d//////u2iaUajmMJMx7gjBsTn8nywiS6z//+5CEZJYfpFMRyAaCAJCrqPCEAUHQ+//MoxBMNMbrIyoHKlGfb//P//////1PbpMMHnDEMLB4WYSOph6JEWLOF/yTwaFn6SxrCdhjANegLeJFNlKYRDoFQxv0MYpfm//MoxBkM+aaYAJlElHzf/////aUtKlDBhwEgEBP0M8KdDaCx4r0fLDCAB0AQYuN0XaEBGgCUDqDcCaENJ8iwAD4oRTKR9E/1//MoxCAM2WpAPnlElP6f///X/9FRWcpgYkNfqZ6P/qI1TEFNRTMuOTkuNVVVVVVVVVVVVVVMQU1FMy45OS41VVVVVVVVVVVV//MoxCcAAANIAAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//MoxGIAAANIAAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//MoxJ0AAANIAAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//MoxMQAAANIAAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV";
    private String bai = "//MoxAAK2FJQAUkQAERUPEbMkairMSyeeVuVkKtepAEpNJmYDrjEUEB7i8ypv/+sWri5l27Rs/Kq8kxjeDYBO/CrjB/hdBeC//MoxA8QUkawAY1oAPf+C0ArgyBg//MDQl//8TAcA5C+XyX//zUvuaNf///e5oggX////zcefBCT//8YCEaH6v/gUA8k1ztM//MoxAgNkS7gActIAZaBs69lHkTWmGiJkiJplRGsQkIgCSMQHnufBjyusYhC6vH7l7UsyVXWN2qYjE9qFtttjcrttAHuEwCS//MoxAwP0VcaXmoElpc1RgCmjwQI1NMlg8SMqEJIFukKJUVN7X4uj0NWjxKsrKiGXN8xvEwmWGg0JqNGn7Py2ur1gnCUTwgC//MoxAcMSKrAAIrYTKdd6if8px1RWxtCPnqsLQPEqK31dqWsqfkvf6qDBIrBIpCZlf6dOYvFtNUNuSyzba27Af6iMBFvZhGX//MoxBAQ4Zr2XkGElu1RRLZ/8yaAW0lRpHf/VJNX9G71R7VZ+YytQrG3Lo9DP1K173MGFNqO+SLPkvK523//waUpn2BbxoZg//MoxAcM2ZZ4NHiElIKlAIVqFlibdVKYzGctKsCAhSlAWMr+n//+v///+YqUqVsMFD3Wds1ZHKy1aiEzOAdJb3EvgyCXMXrB//MoxA4MwFI8AnsGJEDBMDWDlgVCodYGjc6eUVaFaUZppxDg5o9X3NRmXmu+3///+qoRShAHItCYTgZUAnCipYkDRYCgJ5Ul//MoxBYLUC4kLmJEAA6oKPlj3EvIneWf+n9aev/6vZ1/6//6KkxBTUUzLjk5LjWqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//MoxCMAAANIAAAAAKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//MoxF4AAANIAAAAAKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//MoxJkAAANIAAAAAKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq";
    private String qian = "//MoxAALwFZYDUYYABEgSInJjNXEzlWW1Wo0ridk46aNyF/2NSEixI0BRAPFWGZZv/+tA///oOv/9HPKBJIVso4lksB+Q/5///MoxAwP0yJ8C4I4AP5hjf/Pcwz/+2f//9Z543Lf//oPhIzjcbu3///571dtT3b////9CDj5M0uYWBeE4PAeCxX///o3//////MoxAcO8xa4AcAQAf/0PU7zoxzEVCSEf+R+10ZXIx0acjLIrkoryNRkY6EIu/QkkhMgQAEucIRBkIhDnCEhCiwBP2PH6brW//MoxAYOwb7UymhElF4JoEgKCCNpFJf/n/1//////+iOrEORGSRhQMYmgk9Nm3KADzgmE5kn3s/tSvDyjaQRXdsq/rRMhygs//MoxAYOag7YAIHKmPBhUnUTW8w0B5P/nk3/9v/T/7/+hf7CAcAQLNqiOVBYXFH/3HH/ohRQ7uLkP/GH+sYZ7Ur+ipZFQgsd//MoxAcOkarMAJNOlKT1XUkkPoDgI6X9ZibP/1q/9T3/1LW/WC4SFO31NEUJSX/HSJnrGP8JeVGnP/Z4Kq60+qoRiSGKSGSS//MoxAcOkVrqXlFKlgH1NOagXIIQW0Z7KgsgDAbM5ZtQ6b/qKv/zAKhv5Jv/MYGkuJfh36Pg0e6zpY6//+SR5CpgOSSSSAQA//MoxAcNQSK9vloEcn1ub22UAPAGeh17WqCxJrXKNzqwYBbNynKGFL/VjL13UMKUlQROlj3////rKh0hcIWHyLZHKVdFtEXX//MoxA0NQGJEBnsMKISWBpABLJwCSnXeiQTCbXNKvXNhd2xFTPR6f7dcU+m7t+n/+j7bu6idy3QmAoGUWBhQYUdBoqCoCiVy//MoxBMKWCY4LkmEAMO7/W9YKhrlv25X2//iX2J//Jf/T/01CwhGAcgeYBgQoDEHoB4LM4lFRVyxZv/i3FRXiwv7f1Cwr/9Y//MoxCQKyDlYAEmMBKC31iooLYsqTEFNRTMuOTkuNaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//MoxDMAAANIAAAAAKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//MoxG4AAANIAAAAAKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq";
    private String wan = "//MoxAAM6P5oE0kYAAIQ+0Gxw+xGDqR3VYmLFMue/J8I9+ZxELzSFoSFN5CMjIEGQWEzch08pv/6H//9rf/+eGL+4TN3Hm3X//MoxAcOmM6UAZpoAFBEcCDp/ssiYPSNXQVJM+gSwFgALFvmBcKDCiF/Kw3PpvzU4GW/kP/////////l2Cc2kpX91Oovh0QI//MoxAcO0QLMAdF4ABmC6upUfIEaGWhPjz41nFIfOwxDnjVxr/+WOd4maYRlH8ffxSGr2fPnz/////8Iv7fh/4gV/oxigOCb//MoxAYOqPrcAFLYcK/9jCQGI+h5OxdS9+HA5hUJSr5/b3hjUrrMnLusU5tCTu0PMkzIUDC31AA52f//9jD7ez9a+g8AUECI//MoxAYOIN7UAFGGcOAyIVrusptNCcTxu+3I1xIq6jkoEKa9h6wCAlAVagDGqEwMsaAiwFOpWr///p1Nr//+uu8agBOH1FzG//MoxAgMGTKsAIGGcKXjYFFJo98JJHEtltrTQlrAVUMBUZufn/6rfjMayVYx3NqJUVWdWR11Yc4Mjh8cEGXaHVOA4C/BeDrJ//MoxBIMsIpoANPMTMlExxmV7Krma700GJJZPJElmydKhpKbu0s/xU6oGiSgZfZU0csyjobxCBY0As09jBmYt7DVOQCn2ZMW//MoxBoLUGY8AMYMKG8sRDTg0pDGkr7PT01q9/3M//qVCC4AokMAlmlqBOCqwEeg0VdBWWPREeF2Vu/sKzxL/xFiJZ3+u3Dt//MoxCcLcC4cFBGGAEeWd+S//61MQU1FMy45OS41VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//MoxDQAAANIAAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//MoxG8AAANIAAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//MoxKoAAANIAAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV";
    private String yi = "//MoxAAJ6AaMV0EQAAh/wJ8OHmAmGC74kBDc04X2Vv7qnejnO3Ion/rNlK3P/+j///Zl6Fr//HOYxxtuQnQLm38hl4+hoffJ//MoxBMRgx6sAZg4AARl/9T3O/+3//P1//////t89FEcbnP///aveaTWQGh6jf//3Rp7zGc/noqDhw+I5pjmEg0j5+mfUiPs//MoxAgPAmLQy9MQAAuUPfZm/LDf//9P///////T/5/2Ryj0J3MWxzdqMighCpkKDRiFA6BYVXCKBjxOQedMDusHAefqUdFa//MoxAcNykrcyohEuAZYAZRFk9UECf/////////////9KKyqpZCoFM609Uty3cgMGJERYGv2t0NARLqox1URRy4bYAW6gf8l//MoxAoOEc8aXhlElgwkgxlIGA4qAoAiqV//Wn+v+////////+ljVKMBhLX+WkQCE2IesDKhohd/v4iVkSdlttrkYHz0SgBR//MoxAwQAJLVvlmGTvWQuFgFE5fqW7OpMpbVSUKPDLEndT93/2O05b61PDp1abjr19wSPT0RNBURf5Z8JBVyn5EEqwcbbDAX//MoxAcLiEaJHmvSJJ8mhoATjWiN0OCAF3SJgZOpJRSNLXP8fbf/r/b/4lGhpviXPf//9Kovq/gnAVAQaQrOJDCSoVcWAVCn//MoxBMKcCpUVhpGAJElbXev0/qf39/73UVRT8l9///v/9hiIACGYCiAIGCFEDSjwNHqjzCV+dLazyf3cj/2DzoldOkrCp2r//MoxCQLKB4YVBCCAP39MBdun//8hUxBTUUzLjk5LjVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//MoxDIAAANIAAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//MoxG0AAANIAAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//MoxKgAAANIAAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV";

    private static final Map<String, String> maps = new HashMap<String, String>();

    private void init(){
        maps.put("0", num_0);
        maps.put("9", num_9);
        maps.put("8", num_8);
        maps.put("7", num_7);
        maps.put("6", num_6);
        maps.put("5", num_5);
        maps.put("4", num_4);
        maps.put("3", num_3);
        maps.put("2", num_2);
        maps.put("1", num_1);
        maps.put("零", num_0);
        maps.put("玖", num_9);
        maps.put("捌", num_8);
        maps.put("柒", num_7);
        maps.put("陆", num_6);
        maps.put("伍", num_5);
        maps.put("肆", num_4);
        maps.put("叁", num_3);
        maps.put("贰", num_2);
        maps.put("壹", num_1);
        maps.put("亿", yi);
        maps.put("万", wan);
        maps.put("千", qian);
        maps.put("百", bai);
        maps.put("十", shi);
        maps.put("点", dot);
        maps.put("元", yuan);
    }

    private  GenMp3 sInstance;

    public GenMp3() {
        init();
    }

    /**
     * 获取音频播放对象
     * @return
     */
    public  synchronized GenMp3 getInstance() {
        if (sInstance == null) {
            sInstance = new GenMp3();
        }
        return sInstance;
    }

    /**
     * 主测试类
     * @throws IOException
     */
   /* private  void rmbTest() throws IOException {   //为什么和下面的重复了啊
        String amt = toUpper("20101");
        System.out.println(amt);

        StringBuffer speek = new StringBuffer();
        String[] ss = amt.split("");
        for(String s : ss){
            speek.append(maps.get(s));
        }
        speek.insert(0, message);
        genMp3("20101", speek.toString());
    }
*/
    private void base64ToMp3() throws IOException {
		/*
		genMp3("message", message);
		genMp3("0", num_0);
		genMp3("1", num_1);
		genMp3("2", num_2);
		genMp3("3", num_3);
		genMp3("4", num_4);
		genMp3("5", num_5);
		genMp3("6", num_6);
		genMp3("7", num_7);
		genMp3("8", num_8);
		genMp3("9", num_9);
		genMp3("0", num_0);
		genMp3("dot", dot);
		genMp3("yuan", yuan);
		genMp3("shi", shi);
		genMp3("bai", bai);
		genMp3("qian", qian);
		genMp3("wan", wan);
		genMp3("yi", yi);
		 */

    }

    /**
     * 生成播报的mp3文件保存，
     * @param value     金额，如：1.11元为111
     */
    public  void genMp3(String fileName, String value , String filename){
        String amt = toUpper(value);

        StringBuffer speek = new StringBuffer();
        String[] ss = amt.split("");
        for(String s : ss){
            speek.append(maps.get(s));
        }
        speek.insert(0, message);
        try {
            saveMp3(fileName, speek.toString(),filename);
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

    /**
     * 保存mp3文件
     * @param fileName  文件名
     * @param value     内容：base64
     * @throws IOException
     */
    private  void saveMp3(String fileName, String value , String filename) throws IOException {
        byte[] bt = Base64.decode(value, Base64.DEFAULT);
//        byte[] bt = new BASE64Decoder().decodeBuffer(value);
        File file = new File(fileName);
        if (!file.exists()){
            file.mkdir();
        }
        FileOutputStream fos = new FileOutputStream(filename);
        fos.write(bt);
        fos.flush();
        fos.close();
    }


    /**
     * 数字金额转中文读音
     * @param num 金额， 单位：分
     * @return
     */
    private String toUpper(String num) {
        String[] units = {"亿", "千", "百", "十", "万", "千", "百", "十", "", "点", "", ""};

        StringBuilder result = new StringBuilder();
        if(num.length()>11)	{
            throw new RuntimeException("数字太大，无法处理！");
        }
        num = String.format("%011d", Long.parseLong(num));   //转成00000020101
        num = new StringBuffer(num).insert(9, '.').toString();
        char[] nums = num.toCharArray();
        int flag = 0;
        for(int i=0; i<nums.length; i++){
            if('0' != nums[i]){
                flag = 0;
                result.append(nums[i]).append(units[i]);
                continue;
            }
            if('0' == nums[i] && flag < 1){
                flag++;
                result.append(nums[i]).append(units[i]);
                continue;
            }
            if(i>9){
                result.append(nums[i]).append(units[i]);
            }
        }
        result.append("元");
        String str = result.toString();
        str = str.replaceAll("(0千)|(0万)|(0百)|(0十)", "0").replaceAll("0亿", "").replaceAll("\\.","");
        //原生方法bug解决
        if (str.length()>4){
            str=str.replaceAll("0点","点");
        }
        if (str.length()==4){
            str=0+str;
        }
        return str;
    }}

